$(function(){
    var cliente = 
        $.ajax({
            url: 'intranet/cliente/getclienteuser',
            datatype: "json",
            async: false,
            success: function(resultado){
                if (!resultado)
                    alert('Não foi possível carregar lista de clientes');
                }
                
        }).responseText;
    
       
    jQuery("#gridUsuario").jqGrid({
    caption: "Usuário",  
    url: "intranet/usuario/lista",  
    editurl: "intranet/usuario/crud",  
    datatype: "json",  
    colNames:['Nome', 'Login', 'Senha', 'Perfil', 'Cliente', 'Ações'],  
    colModel:[
        {name:'nome', index:'nome', width:200, align:"center", 
            editable:true, editrules:{required:true},
            editoptions:{size: 50, maxlength: 50},
            formoptions:{elmsuffix:' *'}},
	{name:'login', index:'login',hidden:true, 
            editable:true, editrules:{required:true, edithidden: true},
            editoptions:{size: 15, maxlength: 15},
            formoptions:{elmsuffix:' *'}},
	{name:'senha', index:'senha', hidden: true},
	{name:'tipoUsuario', index:'tipoUsuario', width:200, align:"center", search:false,
            editable:true, editrules:{required:true},
            edittype:"select",
            editoptions: {value:'L:LABORATÓRIO;C:CLIENTE'},
            formoptions:{elmsuffix:' *'}},
        {name:'cliente', index:'cliente', width:150, align:"center", search:false,
            edittype:'select', editable:true, editrules:{required:true}},
	{name:'acoes',index:'acoes', width:90, align:"center", sortable:false, search:false}
    ],
    loadComplete: function(){
           $('#gridUsuario').setColProp('cliente', {editoptions: {value: cliente}});   
     },
    //rowNum: 10, 
    width: "900", 
    height: "250", 
    pager: '#navUsuario', 
    sortname: "nome",
    sortorder: "ASC", 
    multiselect: false, 
    viewrecords: true,
    scroll:true,
    loadonce:true,
    ignoreCase:true,
    toolbar: [true,"top"],
    gridComplete: function(){
            var ids = jQuery("#gridUsuario").jqGrid('getDataIDs');				
            for(var i=0; i < ids.length; i++){
                var cl = ids[i];
                be = '<img class="btnAlterar" rel="'+cl+'" src="public/images/pencil.png" title="Alterar" style="cursor:pointer; margin:2px" />';
                se = '<img class="btnVisualizar" rel="'+cl+'" src="public/images/lupa.png" title="Visualizar" style="cursor:pointer; margin:2px" />';
                ce = '<img class="btnDeletar" rel="'+cl+'" src="public/images/cross.png" title="Deletar" style="cursor:pointer; margin:2px" />';
                jQuery("#gridUsuario").jqGrid('setRowData',ids[i],{acoes:be+ce+se});
            }
            $('.btnAlterar').click(function(){
                var idUsuario = $(this).attr('rel');
                jQuery('#gridUsuario').jqGrid('editGridRow',idUsuario, {width:590, savekey:[true,13], checkOnSubmit:true,
                    closeAfterEdit:true, viewPagerButtons:false, bottominfo:"Os campos marcados com (*) são obrigatórios",
                    beforeShowForm: function(formid){
                        var usuario = jQuery("#gridUsuario").jqGrid('getRowData', idUsuario);
                        if(usuario.tipoUsuario == 'LABORATÓRIO')
                            $('#tr_cliente', formid).hide();
                        else
                            $('#tr_cliente', formid).show();
                    },
                    afterComplete: function(resposta){
                        var resultado = resposta.responseText;
                        if(resultado == 1){
                            alert('Operação realizada com sucesso.');
                            intranet.carregaModulo('intranet/usuario/');
                        }else if(resultado == 2){
                            alert('Não foi possível realizar a operação.\nJá existe usuário cadastrado com este login.')
                            intranet.carregaModulo('intranet/usuario/');
                        }else{
                            alert('Não foi possível realizar a operação.');
                        }
                    }
                });
            });
            $('.btnVisualizar').click(function(){
                var idUsuario = $(this).attr('rel');
                jQuery('#gridUsuario').jqGrid('viewGridRow',idUsuario,{width:590, viewPagerButtons:false,
                    beforeShowForm: function(formid){
                        $('#trv_acoes', formid).hide();
                    }
                });
            });
            $('.btnDeletar').click(function(){
                var idUsuario = $(this).attr('rel');
                jQuery('#gridUsuario').jqGrid('delGridRow',idUsuario, { msg:"Apagar registro selecionado?",
                    afterComplete: function(resposta){
                        var resultado = resposta.responseText;
                        if(resultado == 1){
                            alert('Operação realizada com sucesso.');
                        }else{
                            alert('Não foi possível realizar a operação.');
                        }
                    }
                });
            });
        }
     }).navGrid("#navUsuario",{
            edit: false,
            add: false,
            del: false,
            search: false,
            view: false,
            refresh: false
    });
});
$("#t_gridUsuario").append("<input type='image' src='public/images/adicionar.png' align='right' style='height:20px;font-size:-3'/>");
$("input","#t_gridUsuario").click(function(){
    jQuery("#gridUsuario").jqGrid('editGridRow',"new",{width:590, savekey:[true,13],
        bottominfo: "Os campos marcados com (*) são obrigatórios",
        beforeShowForm: function(formid){
            $('#tr_cliente', formid).show();
        },
        afterComplete: function(resposta){
            var resultado = resposta.responseText;
            if(resultado == 1){
                alert('Operação realizada com sucesso.');
                intranet.carregaModulo('intranet/usuario/');
            }else if(resultado == 2){
                alert('Não foi possível realizar a operação.\nJá existe usuário cadastrado com este login.')
                intranet.carregaModulo('intranet/usuario/');
            }else{
                alert('Não foi possível realizar a operação.');
            }
        }
    });
});
jQuery("#gridUsuario").jqGrid('filterToolbar',{stringResult:true, searchOnEnter:false});
